home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / Mbstring.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-16  |  5.4 KB  |  132 lines

  1. /* Copyright (C) 2001 by Digital Mars. $Revision: 1.1.1.2 $ */
  2. #if __SC__ || __RCC__
  3. #pragma once
  4. #endif
  5.  
  6. #ifndef __MBSTRING_H
  7. #define __MBSTRING_H 1
  8.  
  9. #ifndef __STRING_H
  10. #include <string.h>
  11. #endif
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17. /* Define _CRTAPI1 (for compatibility with the NT SDK) */
  18. #ifndef _CRTAPI1
  19. #define _CRTAPI1 __cdecl
  20. #endif
  21.  
  22. /* Define _CRTAPI2 (for compatibility with the NT SDK) */
  23. #ifndef _CRTAPI2
  24. #define _CRTAPI2 __cdecl
  25. #endif
  26.  
  27. /* Define CRTIMP */
  28. #ifndef _CRTIMP
  29. #if defined(_WIN32) && defined(_DLL)
  30. #define _CRTIMP  __declspec(dllimport)
  31. #else
  32. #define _CRTIMP
  33. #endif
  34. #endif
  35.  
  36. typedef unsigned size_t;
  37.  
  38. #define _NLSCMPERROR    2147483647    /* currently == INT_MAX */
  39.  
  40. /* string routines */
  41. int __cdecl _mbbtype(unsigned char, int);
  42. int __cdecl _mbsbtype(const unsigned char *, size_t);
  43. unsigned int __cdecl _mbsnextc (const unsigned char *);
  44. unsigned char * __cdecl _mbsinc(const unsigned char *);
  45. unsigned char * __cdecl _mbsninc(const unsigned char *, size_t);
  46. unsigned char * __cdecl _mbsdec(const unsigned char *, const unsigned char *);
  47. size_t __cdecl _mbsnbcnt(const unsigned char *, size_t);
  48. size_t __cdecl _mbsnccnt(const unsigned char *, size_t);
  49. unsigned int __cdecl _mbbtombc(unsigned int);
  50. unsigned int __cdecl _mbctombb(unsigned int);
  51. size_t __cdecl _mbclen(const unsigned char *);
  52. size_t __cdecl _mbslen(const unsigned char *);
  53. /*unsigned char * __cdecl _mbscat(unsigned char *, const unsigned char *);*/
  54. #define _mbscat(s1,s2)    ((unsigned char *)strcat((char *)s1, (const char *)s2))
  55. unsigned char * __cdecl _mbsncat(unsigned char *, const unsigned char *, size_t);
  56. unsigned char * __cdecl _mbsnbcat(unsigned char *, const unsigned char *, size_t);
  57. void __cdecl _mbccpy(unsigned char *, const unsigned char *);
  58. /*unsigned char * __cdecl _mbscpy(unsigned char *, const unsigned char *);*/
  59. #define _mbscpy(s1,s2)    ((unsigned char *)strcpy((char *)s1, (const char *)s2))
  60. unsigned char * __cdecl _mbsncpy(unsigned char *, const unsigned char *, size_t);
  61. unsigned char * __cdecl _mbsnbcpy(unsigned char *, const unsigned char *, size_t);
  62. _CRTIMP unsigned char * __cdecl _mbschr(const unsigned char *, unsigned int);
  63. unsigned char * __cdecl _mbsrchr(const unsigned char *, unsigned int);
  64. int __cdecl _mbscmp(const unsigned char *, const unsigned char *);
  65. int __cdecl _mbsncmp(const unsigned char *, const unsigned char *, size_t);
  66. int __cdecl _mbsicmp(const unsigned char *, const unsigned char *);
  67. int __cdecl _mbsnicmp(const unsigned char *, const unsigned char *, size_t);
  68. int __cdecl _mbsnbcmp(const unsigned char *, const unsigned char *, size_t);
  69. _CRTIMP int __cdecl _mbsnbicmp(const unsigned char *, const unsigned char *, size_t);
  70. #define _mbccmp(_cpc1, _cpc2) _mbsncmp((_cpc1),(_cpc2),1)
  71. int __cdecl _mbscoll(const unsigned char *, const unsigned char *);
  72. int __cdecl _mbsncoll(const unsigned char *, const unsigned char *, size_t);
  73. int __cdecl _mbsicoll(const unsigned char *, const unsigned char *);
  74. int __cdecl _mbsnicoll(const unsigned char *, const unsigned char *, size_t);
  75. int __cdecl _mbsnbcoll(const unsigned char *, const unsigned char *, size_t);
  76. int __cdecl _mbsnbicoll(const unsigned char *, const unsigned char *, size_t);
  77. size_t __cdecl _mbscspn(const unsigned char *, const unsigned char *);
  78. size_t __cdecl _mbsspn(const unsigned char *, const unsigned char *);
  79. unsigned char * __cdecl _mbsspnp(const unsigned char *, const unsigned char *);
  80. unsigned char * __cdecl _mbspbrk(const unsigned char *, const unsigned char *);
  81. unsigned char * __cdecl _mbstok(unsigned char *, const unsigned char *);
  82. /*unsigned char * __cdecl _mbsdup(const unsigned char *);*/
  83. #define _mbsdup(s) ((unsigned char *)strdup((const char *)s))
  84. unsigned char * __cdecl _mbsrev(unsigned char *);
  85. unsigned char * __cdecl _mbsstr(const unsigned char *, const unsigned char *);
  86. unsigned char * __cdecl _mbslwr(unsigned char *);
  87. unsigned char * __cdecl _mbsupr(unsigned char *);
  88. unsigned char * __cdecl _mbsset(unsigned char *, unsigned int);
  89. unsigned char * __cdecl _mbsnset(unsigned char *, unsigned int, size_t);
  90. unsigned char * __cdecl _mbsnbset(unsigned char *, unsigned int, size_t);
  91.  
  92. /* character routines */
  93. int __cdecl _ismbcalnum(unsigned int);
  94. int __cdecl _ismbcalpha(unsigned int);
  95. int __cdecl _ismbcdigit(unsigned int);
  96. int __cdecl _ismbcgraph(unsigned int);
  97. int __cdecl _ismbclegal(unsigned int);
  98. int __cdecl _ismbclower(unsigned int);
  99. int __cdecl _ismbcprint(unsigned int);
  100. int __cdecl _ismbcpunct(unsigned int);
  101. int __cdecl _ismbcspace(unsigned int);
  102. int __cdecl _ismbcupper(unsigned int);
  103. unsigned int __cdecl _mbctolower(unsigned int);
  104. unsigned int __cdecl _mbctoupper(unsigned int);
  105.  
  106. /* Also declared in mbctype.h, here for MSVC Compatability */
  107. #ifndef _MBBLEAD_DEFINED
  108. int __cdecl _ismbblead(unsigned int);
  109. int __cdecl _ismbbtrail(unsigned int);
  110. int __cdecl _ismbslead(const unsigned char *, const unsigned char *);
  111. int __cdecl _ismbstrail(const unsigned char *, const unsigned char *);
  112. #define _MBBLEAD_DEFINED
  113. #endif
  114.  
  115. /* Kanji specific prototypes */
  116. int __cdecl _ismbchira(unsigned int);
  117. int __cdecl _ismbckata(unsigned int);
  118. int __cdecl _ismbcsymbol(unsigned int);
  119. int __cdecl _ismbcl0(unsigned int);
  120. int __cdecl _ismbcl1(unsigned int);
  121. int __cdecl _ismbcl2(unsigned int);
  122. unsigned int __cdecl _mbcjistojms(unsigned int);
  123. unsigned int __cdecl _mbcjmstojis(unsigned int);
  124. unsigned int __cdecl _mbctohira(unsigned int);
  125. unsigned int __cdecl _mbctokata(unsigned int);
  126.  
  127. #ifdef __cplusplus
  128. }
  129. #endif
  130.  
  131. #endif
  132.